package com.hanamaki.demo01;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.testng.Assert;
import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;

import java.io.IOException;

/**
 * selenium 中八大 元素 的 定位 的方式
 */
public class FireFoxDriver05 {

    WebDriver driver;

    @BeforeClass
    public void setup() {
        System.setProperty("webdriver.gecko.driver", "C:\\Program Files\\Mozilla Firefox\\geckodriver.exe");
        driver = new FirefoxDriver();
    }

    /**
     * 获取页面及页面元素的内容
     * @throws InterruptedException
     * @throws IOException
     */
    @Test
    public void test() throws InterruptedException, IOException {

        driver.get("file:///D:/SoftWare/apache-tomcat-9.0.56/webapps/testhtml/exam/index.html");
        /**
         * 获得网页中的  资源 URL 路径
         */
        String currentUrl = driver.getCurrentUrl();
        System.out.println(currentUrl);

        /* 获得 网页中 的  标题  */
        String title = driver.getTitle();
        System.out.println(title);

        WebElement element = driver.findElement(By.linkText("继续提供房源信息"));
        element.click();

        /* 断言   */
        Assert.assertEquals(driver.getTitle(), "房源注册");

        /**
         * 获得 网页的 源代码
         */
        String pageSource = driver.getPageSource();
        System.out.println(pageSource);

        if (pageSource.contains("房源注册")) {
            System.out.println("成功");
        } else {
            System.out.println("失败");

        }

        /**
         * 获得网页 的 中标签的 标签名
         * */
        WebElement username = driver.findElement(By.name("username"));
        String tagName = username.getTagName();
        System.out.println(tagName);

        /**
         * 获得 标签中 指定属性的  值
         */
        String name = username.getAttribute("name");
        System.out.println(name);




    }



    @AfterClass
    public void close() {
//        driver.close();
    }


}
